/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package entidades;

import entidades.miembros.Miembro;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 *
 * @author fcarou
 */
@Entity
@Table (name = "PARTICIPACIONES")
public class Participacion implements Serializable
{
    @Id
    @Column (name = "ID_PARTICIPACION")
    @GeneratedValue (strategy = GenerationType.IDENTITY)
    private long id;
    
    @JoinColumn (name = "ACTIVIDAD")
    @ManyToOne (cascade = {CascadeType.MERGE, CascadeType.REFRESH})
    private Actividad actividad;
    
    @JoinColumn (name = "MIEMBRO")
    @ManyToOne
    private Miembro miembro;
    
    @Column (name = "CUOTAS")
    private boolean[] cuotas;
    
    public Participacion ()
    {
        
    }
    
    public Participacion (Actividad actividad, Miembro miembro)
    {
        this.actividad = actividad;
        this.miembro = miembro;
        
        cuotas = new boolean [actividad.getCuotas()];
    }

    public long getId()
    {
        return id;
    }

    public void setId(long id)
    {
        this.id = id;
    }

    public Actividad getActividad()
    {
        return actividad;
    }

    public void setActividad(Actividad actividad)
    {
        this.actividad = actividad;
    }

    public Miembro getMiembro()
    {
        return miembro;
    }

    public void setMiembro(Miembro miembro)
    {
        this.miembro = miembro;
    }

    public boolean[] getCuotas()
    {
        return cuotas;
    }

    public void setCuotas(boolean[] cuotas)
    {
        this.cuotas = cuotas;
    }
}
